home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / C / ASAP / argstring_.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-09-08  |  2.1 KB  |  57 lines

  1. /*****************************************************************************
  2.  *                                                                           *
  3.  * ASAP - Amiga Software Authoring Platform                                  *
  4.  *                                                                           *
  5.  * Written by Laurie Perrin                                                  *
  6.  *                                                                           *
  7.  * Aargstring wrapper class                                                  *
  8.  *                                                                           *
  9.  *****************************************************************************/
  10.  
  11. #ifndef ASAP_rgstring_H
  12. #define ASAP_argstring_H
  13.  
  14. #include <New.h>
  15.  
  16. extern "C"
  17. {
  18.  #include <Proto/RexxSysLib.h>
  19. }
  20.  
  21. class Aargstring
  22. {
  23.  public:
  24.  inline static Aargstring * CreateArgstring(UBYTE * string, unsigned long length);
  25.  inline void * operator new(size_t, UBYTE * string, unsigned long length);
  26.  inline void DeleteArgstring();
  27.  inline void operator delete(void *);
  28.  inline ULONG LengthArgstring();
  29. };
  30. //----------------------------------------------------------------------------
  31. Aargstring * Aargstring::CreateArgstring (UBYTE * string, unsigned long length)
  32. {
  33.  return (Aargstring *) ::CreateArgstring(string, length);
  34. }
  35. //----------------------------------------------------------------------------
  36. void * Aargstring::operator new(size_t, UBYTE * string, unsigned long length)
  37. {
  38.  return Aargstring::CreateArgstring(string, length);
  39. }
  40. //----------------------------------------------------------------------------
  41. void Aargstring::DeleteArgstring ()
  42. {
  43.  ::DeleteArgstring((UBYTE *) this);
  44. }
  45. //----------------------------------------------------------------------------
  46. void Aargstring::operator delete (void *argstring)
  47. {
  48.  ((Aargstring *) argstring)->DeleteArgstring();
  49. }
  50. //----------------------------------------------------------------------------
  51. ULONG Aargstring::LengthArgstring ()
  52. {
  53.  return ::LengthArgstring((UBYTE *) this);
  54. }
  55.  
  56. #endif
  57.